package info.pello.struts2;


import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;


public class RegistroAction extends ActionSupport implements ModelDriven<Registro> {

	private static final long serialVersionUID = -6659354552584240539L;

	
	private Registro registro = new Registro();
	private List<Registro> listaRegistro = new ArrayList<Registro>();
	private RegistroDAO registroDAO = new RegistroDAO();
	//private List<Equipo> equipos;
	private UsuarioDAO usuarioDAO = new UsuarioDAO();
	
	@Override
	public Registro getModel() {
		return registro;
	}
	
	/**
	 * To save or update user.
	 * @return String
	 */
	public String guardarOActualizar()
	{	
		registroDAO.guardarOActualizarRegistro(registro);
		return SUCCESS;
	}
	
	/**
	 * To list all users.
	 * @return String
	 */
	public String listar()
	{
		listaRegistro = registroDAO.listarRegistros();
		return SUCCESS;
	}
	
	/**
	 * To delete a user.
	 * @return String
	 */
	public String eliminar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		registroDAO.eliminarRegistro((int) Long.parseLong(request.getParameter("id")));
		return SUCCESS;
	}
	
	/**
	 * To list a single user by Id.
	 * @return String
	 */
	public String editar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		registro = registroDAO.listarRegistroPorId((int) Long.parseLong(request.getParameter("id")));
		return SUCCESS;
	}
	
	public Registro getJugador() {
		return registro;
	}

	public void setJugador(Registro jugador) {
		this.registro = jugador;
	}

	public List<Registro> getListaJugadores() {
		return listaRegistro;
	}

	public void setListaJugadores(List<Registro> listaJugadores) {
		this.listaRegistro = listaJugadores;
	}
	
	public List<Usuario> getEquipos() {

		return usuarioDAO.listarEquipos();
	}

	/**
	 * @return the equipoDAO
	 */
	public UsuarioDAO getEquipoDAO() {
		return usuarioDAO;
	}

	/**
	 * @param equipoDAO the equipoDAO to set
	 */
	public void setEquipoDAO(UsuarioDAO equipoDAO) {
		this.usuarioDAO = equipoDAO;
	}


}
